package org.jeecg.modules.yinsheng.command.withdraw;

import org.jeecg.modules.yinsheng.annotation.Length;
import org.jeecg.modules.yinsheng.annotation.NotBlank;
import org.jeecg.modules.yinsheng.annotation.Pattern;
import org.jeecg.modules.yinsheng.command.base.BaseBizReqCommand;


/**
 * @ClassName WithdrawApplyRequestCommand
 * @Description 提现申请
 * @Author linxl
 * @Date 2021/4/8 15:34
 * @Version 1.0
 */

public class WithdrawApplyRequestCommand extends BaseBizReqCommand<WithdrawApplyRequestCommand> {

	private static final long serialVersionUID = 1L;

	// 必填 订单号（长度：<8，20>）
	@NotBlank(message = "商户订单号不能为空")
	@Length(max = 32, message = "商户订单号最大长度不能超过32个字符")
	private String merchantOrderNo;

	@NotBlank(message = "提现金额不能为空")
	@Pattern(regexp = "^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$", message = "金额格式不正确")
	private String tradeAmount;

	@NotBlank(message = "商户申请时间不能为空")
	@Length(min = 14, max = 14, message = "商户申请时间长度不符合要求")
	private String tradeTime;

	@NotBlank(message = "商户申请日期不能为空")
	@Length(min = 8, max = 8, message = "商户申请日期长度不符合要求")
	private String shopDate;

	@NotBlank(message = "订单描述不能为空")
	@Length(max = 50, message = "订单描述超过50个字符")
	private String orderDesc;

	// 必填 回调通知地址
	@NotBlank(message = "回调通知地址不能为空")
	private String backUrl;

	public String getMerchantOrderNo() {
		return merchantOrderNo;
	}

	public WithdrawApplyRequestCommand setMerchantOrderNo(String merchantOrderNo) {
		this.merchantOrderNo = merchantOrderNo;
		return this;
	}

	public String getTradeAmount() {
		return tradeAmount;
	}

	public WithdrawApplyRequestCommand setTradeAmount(String tradeAmount) {
		this.tradeAmount = tradeAmount;
		return this;
	}

	public String getTradeTime() {
		return tradeTime;
	}

	public WithdrawApplyRequestCommand setTradeTime(String tradeTime) {
		this.tradeTime = tradeTime;
		return this;
	}

	public String getShopDate() {
		return shopDate;
	}

	public WithdrawApplyRequestCommand setShopDate(String shopDate) {
		this.shopDate = shopDate;
		return this;
	}

	public String getOrderDesc() {
		return orderDesc;
	}

	public WithdrawApplyRequestCommand setOrderDesc(String orderDesc) {
		this.orderDesc = orderDesc;
		return this;
	}

	public String getBackUrl() {
		return backUrl;
	}

	public WithdrawApplyRequestCommand setBackUrl(String backUrl) {
		this.backUrl = backUrl;
		return this;
	}

}
